package com.springboot.file.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;


/**
 * 可融资产融资管理表
 *
 * @author liuc
 * @since 2025-04-25
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("fin_pledge_asset_manage")
@ApiModel(value = "FinPledgeAssetManage对象", description = "可融资产融资管理表")
public class FinPledgeAssetManage implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 可融资产ID
     */
    @TableId(value = "fin_pledge_id", type = IdType.AUTO)
    @ApiModelProperty(value = "可融资产ID")
    private String finPledgeId;

    /**
     * 企业ID
     */
    @TableField("cust_id")
    @ApiModelProperty(value = "企业ID")
    private String custId;

    /**
     * 企业名称
     */
    @TableField("cust_name")
    @ApiModelProperty(value = "企业名称")
    private String custName;

    /**
     * 合同编号
     */
    @TableField("contract_no")
    @ApiModelProperty(value = "合同编号")
    private String contractNo;

    /**
     * 采购订单编号
     */
    @TableField("purchase_order_no")
    @ApiModelProperty(value = "采购订单编号")
    private String purchaseOrderNo;

    /**
     * 应付账款凭证编号
     */
    @TableField("need_pay_acc_evidence_code")
    @ApiModelProperty(value = "应付账款凭证编号")
    private String needPayAccEvidenceCode;

    /**
     * 是否核销(0-否,1-是)
     */
    @TableField("is_cancel")
    @ApiModelProperty(value = "是否核销(0-否,1-是)")
    private String isCancel;

    /**
     * 是否锁定(0-否,1-是)
     */
    @TableField("is_lock")
    @ApiModelProperty(value = "是否锁定(0-否,1-是)")
    private String isLock;

    /**
     * 金融产品编号
     */
    @TableField("fin_product_id")
    @ApiModelProperty(value = "金融产品编号")
    private String finProductId;

    /**
     * 银行授信申请ID
     */
    @TableField("fin_credit_apply_id")
    @ApiModelProperty(value = "银行授信申请ID")
    private String finCreditApplyId;

    /**
     * 银行支用申请ID
     */
    @TableField("fin_utilize_apply_id")
    @ApiModelProperty(value = "银行支用申请ID")
    private String finUtilizeApplyId;

    /**
     * 上级凭证编号
     */
    @TableField("parent_evidence_code")
    @ApiModelProperty(value = "上级凭证编号")
    private String parentEvidenceCode;

    /**
     * 创建用户
     */
    @TableField("create_user")
    @ApiModelProperty(value = "创建用户")
    private String createUser;

    /**
     * 最新更新用户
     */
    @TableField("last_updated_user")
    @ApiModelProperty(value = "最新更新用户")
    private String lastUpdatedUser;

    /**
     * 创建日期
     */
    @TableField(value = "create_timestamp", fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private LocalDateTime createTimestamp;

    /**
     * 最新更新时间
     */
    @TableField(value = "last_updated_stamp", fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "最新更新时间")
    private LocalDateTime lastUpdatedStamp;
}